package io;

import java.io.*;

/*
  对象流
  java.io.ObjectInputStream 和 OBjectOutputStream
  对象流的功能: 进行对象的序列化和反序列化

 */
public class OOSDemo {
    public static void main(String[] args) throws IOException {
        String name = "刘桑";
        int age = 55;
        String sex = "男";
        String[] otherInfo = {"技术好","拍片儿一流","大家的启蒙老师"};
        Person person = new Person(name,age,sex,otherInfo);

        //文件输出流(低级流):将字节写入指定文件中
        FileOutputStream fos = new FileOutputStream("person.obj");
        //对象输出流（高级流）: 将一个Java对象进行序列化
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        /*
          这里将对象写出涉及到两个操作:
          对象经过对象输出流时，会被文件输出流转换为一组字节，这个过程称为对象序列化
          序列化后的字节在经过文件流被写入文件中（硬盘中）,这个过程称为数据持久化
         */
        oos.writeObject(person);
        System.out.println("写入完毕！！！");
        oos.close();
    }

}
